using System;
using System.Drawing.Drawing2D;

namespace SBPweb.Themes.Windows.Schemes
{
	/// <summary>
	/// Class of SchemeBlends
	/// </summary>
    public class SchemeBlends
    {
        #region Private fields

        private ColorBlend cbBackground = new ColorBlend(2);

        private ColorBlend cbDocumentNormal = new ColorBlend(2);
        private ColorBlend cbDocumentHotTab = new ColorBlend(2);
        private ColorBlend cbDocumentSelected = new ColorBlend(2);

        #endregion

        #region Constants

		/// <summary>
		/// Verety style schemeblends
		/// </summary>
        public static SchemeBlends Verety = new SchemeBlends(SchemeColors.Verety);

        #endregion

        #region Constructor logic

		/// <summary>
		/// Constructor of SchemeBlends
		/// </summary>
		/// <param name="colors">colors</param>
        public SchemeBlends(SchemeColors colors)
        {
            cbBackground.Colors[0] = colors.BackgroundLight;
            cbBackground.Colors[1] = colors.BackgroundLight;
            cbBackground.Positions[0] = 0.0f;
            cbBackground.Positions[1] = 1.0f;

            cbDocumentNormal.Colors[0] = colors.ControlMid;
            cbDocumentNormal.Colors[1] = colors.ContainerLight;
            cbDocumentNormal.Positions[0] = 0.0f;
            cbDocumentNormal.Positions[1] = 1.0f;

            cbDocumentHotTab.Colors[0] = colors.ControlLight;
            cbDocumentHotTab.Colors[1] = colors.ContainerMid;
            cbDocumentHotTab.Positions[0] = 0.0f;
            cbDocumentHotTab.Positions[1] = 1.0f;

            cbDocumentSelected.Colors[0] = colors.BackgroundMid;
            cbDocumentSelected.Colors[1] = colors.BackgroundMid;
            cbDocumentSelected.Positions[0] = 0.0f;
            cbDocumentSelected.Positions[1] = 1.0f;
        }

        #endregion

        #region Property accessors

		/// <summary>
		/// Color blend of background
		/// </summary>
        public ColorBlend Background
        {
            get { return cbBackground; }
            protected set { cbBackground = value; }
        }

		/// <summary>
		/// Color blend of normal document tab
		/// </summary>
        public ColorBlend DocumentNormalTab
        {
            get { return cbDocumentNormal; }
            protected set { cbDocumentNormal = value; }
        }

		/// <summary>
		/// Color blend of hot document tab
		/// </summary>
        public ColorBlend DocumentHotTab
        {
            get { return cbDocumentHotTab; }
            protected set { cbDocumentHotTab = value; }
        }

		/// <summary>
		/// Color blend of selected document tab
		/// </summary>
        public ColorBlend DocumentSelectedTab
        {
            get { return cbDocumentSelected; }
            protected set { cbDocumentSelected = value; }
        }

        #endregion
    }
}